void main() {
  // 创建男人对象
  Man man = Man('李雷', 13);
  print(man.name);
  man.eat();

  // 创建女人对象
  Woman woman = Woman('韩梅梅', 14);
  print(woman.name);
  woman.eat();
}

/// 人类：父类
class Person {
  Person(this.name, this.age);

  String? name;
  int? age;

  void eat() {
    print('$name -- eat');
  }
}

/// 男人类：子类
class Man extends Person {
  // 定义子类构造函数
  // Man(String name, int age) : super(name, age);
  Man(super.name, super.age);
 String gender ='男';
  // 提示：子类中可以重写父类的方法，执行子类自己的逻辑
  @override
  //   @override  重写
  void eat() {
    print('我是$name---$gender，我爱吃肉');
  }
}

/// 女人类：子类
class Woman extends Person {
  // 定义子类构造函数
  Woman(super.name, super.age);
 String gender ='女';
  // 提示：子类中可以重写父类的方法，执行子类自己的逻辑
  @override
  void eat() {
    print('我是$name---$gender，我爱吃蔬菜');
  }
}